//
//  NSString+BaseFramework.h
//  LotteryClient
//
//  Created by Sunyon 14-4-8.
//  Copyright (c) 2014年 CTTC. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (BaseFramework)

@end
@interface NSString (Addition)

- (NSString *)md5String;

- (NSString*)substringFrom:(NSUInteger)a to:(NSUInteger)b;

- (NSInteger)indexOf:(NSString*)substring from:(NSUInteger)starts;

- (BOOL)containsString:(NSString*)aString;


- (NSString *)trim;

- (BOOL)empty;

- (BOOL)notEmpty;
/**
 *   将毫秒格式化时间
 */
+ (NSString*)dateFormatFromMillisecond:(NSString*)millisecond;

- (NSDate *)getFormatterDate;

- (int) calculateTextNumber;
@end

#pragma -mark
#pragma -mark FilePath
@interface NSString (FilePath)


/**
 *  自定义资源路径
 *
 *  @return 返回自定义的资源路径
 */
+ (NSString *)selfResourcePath;

/**
 *  设置自定义资源路径
 *
 *  @param path 自定义资源路径
 */
+ (void)setSelfResourcePath:(NSString *)path;

/**
 *  获取document路径
 *
 *  @return 返回路径
 */
+ (NSString *)documentPath;

/**
 *  获取cache路径
 *
 *  @return 返回路径
 */
+ (NSString *)cacheDirPath;
/**
 *  判断文件夹是否存在在document目录下
 *
 *  @param DirName 文件夹名称
 *
 *  @return 是否存在
 */
+(BOOL)isExistsDirectoryInDoc:(NSString *)DirName;

/**
 *  判断文件是否存在在document目录下
 *
 *  @param fileName 文件名称
 *
 *  @return  是否存在
 */
+(BOOL)isExistsFileInDoc:(NSString *)fileName;

/**
 *  判断文件是否存在
 *
 *  @param fileFullName 文件绝对路径
 *
 *  @return  是否存在
 */
+ (BOOL)isExistsFile:(NSString *)fileFullName;
/**
 *  复制文件
 *
 *  @param sourcePath 源文件路径，包含文件名称
 *  @param targetPath 目标路径，包含文件名称
 *
 *  @return 是否复制成功
 */
+ (BOOL)copyFile:(NSString *)sourcePath to:(NSString *)targetPath;

+ (NSString *)filePathInBundleWithFileName:(NSString *)fileName;

/**
 *  删除指定目录下的文件
 *
 *  @param filepath 文件目录
 *
 *  @return 是否成功删除
 */
+ (BOOL)delFileInPath:(NSString *)filepath;

/**
 *  获取在bundle中的资源路径
 *
 *  @param fileName 文件名
 *  @param type     扩展名称
 *
 *  @return 返回路径
 */
+ (NSString *)filePathInBundleWithFileName:(NSString *)fileName ofType:(NSString *)type;

+ (NSString *)filePathInDocumentWithFileName:(NSString *)fileName;

/**
 *  获取在document中的资源路径
 *
 *  @param fileName 文件名
 *  @param type     扩展名称
 *
 *  @return 返回路径
 */
+ (NSString *)filePathInDocumentWithFileName:(NSString *)fileName ofType:(NSString *)type;

+ (NSString *)filePathInSelfResourceWithFileName:(NSString *)fileName;


+ (NSString *)filePathInSelfResourceWithFileName:(NSString *)fileName ofType:(NSString *)type;
/**
 *  获取在bundle 或自定义中的资源路径
 *
 *  @param fileName 文件名
 *
 *  @return 返回路径
 */
+ (NSString *)filePathInSelfResourceOrBundle:(NSString *)fileName;

//校验身份证号
+ (BOOL)validateIDCardNumber:(NSString *)value;

// 正则判断手机号码地址格式
+ (BOOL)isMobileNumber:(NSString *)mobileNum;

@end

@interface NSString (URL)

+ (NSString *)URLEncodedString:(NSString *)string;
- (NSString *) urlEncoding;
- (NSString *) urlDecoding;

- (NSString *)valueForUrlParameterName:(NSString *)parameterName;

@end

